package com.changyinBus.system.mapper;

import com.changyinBus.common.core.domain.entity.SysArticle;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysArticleMapper {
    /**
     * 根据条件分页查询新闻
     * @param article 新闻信息
     * @return 新闻集合信息
     */
    List<SysArticle> selectArticleList(SysArticle article);

    /**
     * 获取推荐
     * @param limit
     * @return
     */
    List<SysArticle> selectArticleListByTopWithLimit(@Param("tenantId")long tenantId, @Param("articleType")int articleType, @Param("limit")int limit);

    /**
     * 根据新闻资讯ID查询信息
     *
     * @param articleId 新闻资讯ID
     * @return 新闻资讯信息
     */
    SysArticle selectArticleById(Long articleId);

    SysArticle selectArticleByArticleType(@Param("articleType")int articleType,@Param("typeId") long typeId, @Param("tenantId")long tenantId);

    /**
     * 新增新闻资讯信息
     *
     * @param article 新闻资讯信息
     * @return 结果
     */
    int insertArticle(SysArticle article);

    /**
     * 修改新闻资讯信息
     *
     * @param article 新闻资讯信息
     * @return 结果
     */
    int updateArticle(SysArticle article);

    /**
     * 修改新闻资讯状态
     * @param articleId
     * @param status
     * @return
     */
    int updateArticleStatus(@Param("articleId") Long articleId, @Param("status") String status);

    /**
     * 删除新闻资讯信息
     *
     * @param articleId 新闻资讯ID
     * @return 结果
     */
    int deleteArticleById(Long articleId);

    /**
     * 获取上一条新闻数据
     * @param article
     * @return
     */
    SysArticle getPrevious(SysArticle article);

    /**
     * 获取下一条新闻数据
     * @param article
     * @return
     */
    SysArticle getNext(SysArticle article);
}
